garrysmodtrfandomcom_tr-20200213-history
Linux Adanmış Sunucu Hizmeti
Bu makalede Linux üzerinde Garry's Mod sunucu hizmetini sağlamak üzerine kapsamlıca bilgilendirme sağlanacaktır. Bu makale Debian ve türevleri (Ubuntu, ChromiumOS, Mint, vb.) için yazılmıştır bu nedenle diğer yayınlarda çevirme işlemi yapmanız gerekebilir. = Dikkat = * Valve, Ubuntu 12.04 32-bit'i ana geliştirme alanı olarak kullanmaktadır. Bu, Ubuntu Server 12.04 32-bit'i kullanmanız halinde daha az kötü sürpriz ile karşılaşabileceğiniz anlamına gelir. Tabii ki geriye-uyumlu olduğu sürece Ubuntu'nun daha yeni bir sürümünü kullanabilirsiniz. * Bu rehber Debian-tabanlı dağıtımlar göz önünde bulundurularak yazılmıştır- Valve'nin kullandığı sistem ile aynı sistemi kullanırsanız kolaylaştırabilirsiniz (fazladan uyumluluk kütüphanesi yüklemenize gerek kalmayacaktır). = Gereksinimler = Başlamadan önce aşağıdaki gereksinimleri karşıladığınızdan emin olunuz: * Sunucuyu çalıştıracak bir kulanıcı (/home/steam ana kütüphanesi ile 'steam' önerilir) * Yüklemek istediğiniz içerik için yeterli disk kapasitesi * 'steam' kullanıcısı (su - steam) olarak çalışan bir açık komut-satırı terminali ya da steam ile giriş yapılmış bir SSH oturumu. * Basit Linux komut-satırı kullanımı tecrübesi. = SteamCMD'yi Yüklemek = Aşağıdaki script SteamCMD'yi indirecek, dizinden çıkaracak ve güncelleyecektir. SteamCMD, Garry's Mod'u indirme ve güncellemede gereklidir. cd ~ mkdir bin cd bin wget http://media.steampowered.com/client/steamcmd_linux.tar.gz tar -xvzf steamcmd_linux.tar.gz ./steamcmd.sh +login anonymous +quit 64-bit Sistemler Eğer "*/linux32/steamcmd: No such file or directory" hatasını alırsanız, bu büyük ihtimalle gerekli olan 32-bit kütüphanelerine sahip olmadığınızdan kaynaklanmaktadır. Bunu onarabilmekte gerekli bilgiyi edinebilmek için buraya gidiniz: https://developer.valvesoftware.com/wiki/SteamCMD#32-bit_libraries_on_64-bit_Linux_systems = Garry's Mod'u Yüklemek = Aşağıdaki script, tek komutla Garry's Mod'un en son sürümünu indirecektir. Önce, ana kütüphaneye gidelim. cd ~ Sonra, script'i indirmemiz gerekmektedir: wget http://pastebin.com/raw/CRmMbJQA -O ./update_gmod.sh Bu dosyayı çalıştırmadan önce, 'çalıştırma' hakları vermemiz gereklidir. Bu aşağıdaki komutla gerçekleştirilir. chmod +x ./update_gmod.sh Düzgünce çalıştırmadan önce dos formatından unix formatına dönüştürmemiz gerekmektedir: dos2unix ./update_gmod.sh Şimdi, sunucuyu güncelleyelim ./update_gmod.sh Sunucu gerekli içeriği indirecektir. Steam, işlemin ilerleme oranını indirme süresince size gösterecektir. = İçerik eklemek = Tabii ki TF2 ve CS:S ve diğer oyunların içeriğini kullanabilmek isteyebilirsiniz. Yukarıdaki scripti kullanarak bu bu işlemi basitleştirilebilir. Ancak, indirme süresinden kazanmak istediğimizden, tüm bu içeriği ayrı bir klasöre koyacağız, böylece 5 adet sunucumuz da olsa içerik güncellemesi durumunda sadece bir defa güncelleme yapmamız yeterli olacaktır. Şimdi yukarıda bahsedilen scripti düzenleyeceğiz. Aşağıdaki satırı "Add any additional servers here" denilen kısma ekleyiniz. Şimdi, TF2'yi ekleyeceğiz. update_server 232250 "content/tf2" Şimdi, update_gmod.sh 'yi çalıştırdığımızda script, Garry's Mod'u (yukarudaki adımdan indirdiğimizden) doğrulayacak (ve gerekiyorsa güncelleyecek) ve Team Fortress 2'yi ~/content/tf2 '''ye yükleyecektir.. Sunucular için ID listesi için, Valve Geliştirici Topluluğu sayfasına bakabilirsiniz. Teorik olarak, herhangi bir oyunu ID'sini kullanarak indirebileceğinizi unutmayınız fakat bu adanmış sınıcılarla steam hesabınıza giriş yapmanıza gerek kalmamaktadır. = Sunucuyu başlatmak = Sunucuyu başlatmak için, her sunucunun kök kütüphanesinde bulunan, srcds_run adı verilen dosya çalıştırılır. Aşağıdaki komut, gm_flatgrass haritasında 12 slotluk bir sunucu başlatır. ~/server_1/srcds_run -game garrysmod +maxplayers 12 +map gm_flatgrass Script (srcds_run) sunucuyu ayakta tutacaktır, çökerse, linux'u yeniden başlatsanız da yeniden başlamayacaktır ve terminali kapatırsanız sunucu kapanacaktır. Bunu bu makalede daha sonra düzelteceğiz. = Sunucuyu güncellemek = To update the server, or to update the content, we simply call our download script. You need to make sure your servers are off, or else the update will fail. Update our scripts by just calling this (from the home directory) ./update_gmod.sh = Yeniden başlatma ardından sunucuyu ayakta tutmak = Sunucuyu ayakta tutmak için crontab'ı kullanacağız. Crontab'a sunucu yüklendiğinde srcds_run'u çalıştıracak bir girdi ekleyeceğiz. Crontab'ı açınız crontab -e Şimdi, bu satırı sona ekleyiniz @reboot /home/steam/server_1/srcds_run -game garrysmod +maxplayers 12 +map gm_flatgrass Şimdi dosyayı kaydediniz. Genellikle crontab, nano'da açılır bu nedenle komutlar, tekrar, "Ctrl+O", "↵ Enter", "Ctrl+X" olabilecektir. Şimdi, linux sunucusunun yeniden başlatılmasının ardından, Garry's Mod Sunucusu oyomatik olarak başlayacaktır. Ek notlar Elbette sunucunuzu ayakta tutmanın daha etkin yolları mevcuttur, ancak başladıktan sonra çabucak karmaşık hale geldiğinden burada bahsedilmemektedir. Daha fazla bilgi için Google üzerinden arama yapabilir ya da Facepunch'a sorabilirsiniz. = Sorun giderme = 32-bit ikili değerleri Eğer Linux'un 32-bit bir sürümünü çalıştırıyorsanız, SteamCMD sadece 32-bit'i desteklediğinden, 32-bit ikili değerlerine ihtiyacınız bulunmaktadır. Şu hata mesajını alırsanız: ./steamcmd.sh: line 29: /home/$USER/Steam/linux32/steamcmd: No such file or directory o halde büyük ihtimalle 64-bit bir sistem kullanmaktasınız ve 32-bit kütüphanelerinizde eksiklik durumu bulunmaktadır. Bunu yapabilmek için '''ia32-libs''i yüklemeniz gerekmektedir. Bunu yapabilmek için de aşağıdaki kodu çalıştırmanız gerekmektedir: dpkg --add-architecture i386 apt-get update apt-get install ia32-libs or apt-get install lib32ncurses5 lib32z1 Paket büyüktür (~200MB) ve birçok bağımlılıkları bulunmaktadır bu nedenle biraz sürebilir. Diğer linux dağıtımları için Valve wiki makalesine bakınız. 'GLIBC_2.15' not found Eğer şu mesajı alıyorsanız: Failed to open dedicated_srv.so (/lib/i386-linux-gnu/libm.so.6: version `GLIBC_2.15' not found (required by bin/dedicated_srv.so)) Büyük bir ihtimalle eski GLIBC kütüphanelerine sahipsiniz ve güncelleme yapmanız gerekmektedir. Bu, Valve'nin araçları yaratmak için kullandığı dağıtımdan farklı bir dağıtım (ya da dağıtımın farklı bir sürümünü) kullandığınız için gerçekleşmiştir. Bu araçlar bu Linux dağıtımından çeşitli bileşenler beklemektedir. (Yukarıdaki 'Dikkat' kısmını okuyunuz!) Bunu Ubuntu 12.04 32-bit'e geçiş yapmadan gidermek için aşağıdaki kodu çalıştırınız: wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu10.11_i386.deb dpkg -x libc6_2.15-0ubuntu10.11_i386.deb tmp/ cd tmp/lib/i386-linux-gnu/ cp * /your-garrysmod-directory/bin/ CentOS'ta ilk olarak yapmanız gereken EPEL Repo ve dpkg yüklemesi için: yum install dpkg Bunun yerine şunlara geçiş yapabilirsiniz: * Ubuntu Server 12.04+ * CentOS 7 Bu alternatifler, çalışmaları onaylanmış ve en destekli olanlardırlar. Çalışmayan Eklentiler Sunucunuzu kurup çalıştırırken bazı eklentilerin çalışmadığı gibi problemlerle karşılaşabilirsiniz. Bu sorun büyük harfli klasörde bulunan eski eklentilerden kaynaklı olarak görünmektedir. Bu sorunu gidermek için tüm kütüphaneleri küçük harfli isimlerle değiştirmek ve tüm Lua kodlarını bu kütüphanelere düzgün biçimde hedeflemek gerekebilir. Kategori:Sunucu Sahipleri